<template>
	<view>
		<button @click="callSetStorage()" >存储数据 (setStorage)</button>
				<button @click="callGetStorage()" >获取缓存 (getStorage)</button>
				<button @click="callStoInfo()" >获取存储列表</button>
				<button @click="callRemove()" >删除指定字段</button>
				<button @click="callClear()" >清空所有存储</button>
	</view>
</template>

<script>
	export default {
		data() {
			return {
				statusText: '',      // 用于显示操作结果
				storageKeys: []      // 存储所有缓存字段列表
			}
		},
		methods: {
			
				callSetStorage() {
							// 修复原代码中的语法错误和逻辑问题
							uni.setStorage({
								key: "username",    // 存储的键名
								data: "lvqiang",    // 存储的值
								success: () => {
									this.statusText = "存储成功！key: username, value: lvqiang";
									console.log("存储userName成功");
									// 存储成功后更新列表
									this.callStoInfo();
								},
								fail: (err) => {
									this.statusText = `存储失败: ${err.errMsg}`;
									console.error("存储username失败:", err);
								}
							})
						},
			callGetStorage() {
							uni.getStorage({
								key: "username",    // 要获取的键名（修复原代码大小写错误）
								success: (result) => {
									this.statusText = `获取成功！key: username, value: ${result.data}`;
									console.log("获取本地缓存成功:", result.data);
								},
								fail: (err) => {
									this.statusText = `获取失败: ${err.errMsg}`;
									console.error("获取本地缓存失败:", err);
								}
							})
						},
			callStoInfo() {
							uni.getStorageInfo({
								success: (result) => {
									this.storageKeys = result.keys;  // 更新存储列表
									this.statusText = `共${result.keys.length}个存储字段，当前占用${result.currentSize}KB，上限${result.limitSize}KB`;
									console.log("存储信息:", result);
								},
								fail: (err) => {
									this.statusText = `获取存储信息失败: ${err.errMsg}`;
									console.error("获取存储信息失败:", err);
								}
							})
						},
			callRemove() {
							uni.removeStorage({
								key: "username",    // 要删除的键名（修复原代码键名错误）
								success: () => {
									this.statusText = "删除成功！已删除 key: username";
									console.log("删除username成功");
									// 删除后更新列表
									this.callStoInfo();
								},
								fail: (err) => {
									this.statusText = `删除失败: ${err.errMsg}`;
									console.error("删除失败:", err);
								}
							})
						},
			callClear() {
							uni.clearStorage({
								success: () => {
									this.statusText = "清空成功！所有存储字段已删除";
									this.storageKeys = [];  // 清空列表
									console.log("所有存储已清空");
								},
								fail: (err) => {
									this.statusText = `清空失败: ${err.errMsg}`;
									console.error("清空存储失败:", err);
								}
							})
						}
				
			}
		}
	
</script>

<style>

</style>
